The Game Project

    This page is not finished as well.

    I love Role Playing Games. I also love strategic games like the XCOM series, tactical games like Dune2, and I also like to trade and fight among stars in Elite. However, it seems that there is no game that has it all, but I can see no reason for that, except for the game's complexity and size. This page is intended to help to motivate good programmers to write such a game.

Graphics

    The game will need graphics engine that can render lying equipment, fighting humans, trees, flowing water, towns, planets, starships, stars, and EVERYTHING AT ONCE. There are engines that allow you to travel in Solar system and land at planets and space stations (Frontier), and there are also engines that can draw very complex scenes at one scale (Unreal). However, in a perfect game, you should be able to fly from Mars to Earth, watch the stars and landing manoeuvres through a window, and then break the window and go to a cave to fight mutants. Today's 3D graphics cards are useless for this, due to limited z-buffer depth, limited RAM, and the inability to render complex shapes (e.g. NURBS surfaces). The ways to handle complex scenes fast are discussed in The Computer Graphics Project.

Programming Environment

    Due to the size of the game's code and data, it will be necessary to use _something_ that will allow rapid development-testing-fixing cycle. The best way I can see is the Smalltalk environment, of which SELF is a clone. Some advantages over C or C++:     Time critical sections can be written in other languages and added to the Virtual Machine. Further advantages of Smalltalk over C and of SELF over Smalltalk are discussed in The Programming Language Project.

Others

    Of course, there are more problems than the graphics engine and a programming language. However, they should be rather easy:  

The game model

    In newer fantasy computer games, there appears more or less Elements. It allows sorting the spells into categories. Developing it further, there could be a single spell "Protect from element", in e.g. 4 variants. I tried to match the Fire, Air, Water and Earth to the physical reality and result is the following 12 elements:
 
Fire fireballs; plasma; other hot items
Cold cold gases, liquids, items
Electricity & Magnetism lightning; time-varying magnetic fields inducing electric current and warming the item
Light lasers; invisibility spell
Acids both liquids and gases that destroy materials
Venoms biological venoms, affecting only living creatures
Holy harming undead creatures, helping the living ones
Unholy harming living creatures, helping the undead ones
Neutron radiation; affects both materials and beings
Psionic telepathy; enemy's mind control; identify enemy
Gravity flying and stopping others from flying by changing weight
Mechanical physical damage
    I believe that everything that is possible via magic should be reachable via high technology, and vice versa. Thus, there is no magical-only damage.
    The Gravity and Mechanical elements are subjects to further investigation.

The player

    A player should be able to use items, walk, ride, jump, fly, swim, use transportation vehicles and much more. Also, NPCs should be very common, and willing to join the player.
    A player model is subject to constant upgrades today. There are two directions -- simple and complicated. The simple model is enough for strategic games with many characters, where you need to quickly find the strengths and weaknesses of the character. Typical statistics set is: Hit points, 4 skills, and for fantasy games Level and Spell points. However, if you had only one player, this would be too brief. I also do not like character classes, where a Sorcerer can not take a sword and use it. Instead there can be a rule like this: "Anybody touching a metal loses all Spell points." I believe that classes are an artefact of early stages of the character model, where it was necessary to disable a superwarrior with superspells. As the skills have been introduced, I can see no more reasons for classes to exist: nobody  has time to develop all the skills to a super-level. You can choose to improve fighting, stealing, spellcasting or negotation, or all of them, but a specialist will always have higher skill than a multipurpose character with the same experience, while a very experienced player can do _everything_ better than a newbie. Some hard RPG fans do not think the same; one of Dungeon Masters I know quickly kills all the beginning non-specialists. I think that he is not right.
    On the other side, there can be more races than only one. It shouldn't be limited to typical humanoid races: humans, dwarves, orcs, gnomes, trolls, giants. It could be really funny to have a dragon in your party.
    So, the model. I believe that it should be very complicated (as realistic as possible), with skill hierarchies, so that you can examine the character at any level you want. If you play as an army leader, you can watch only Hit points, speed and armor class of your troops; if you play as that trooper, you may want to distinguish if you were hit in your left arm or in your head. Hit points are not precise enough for this, but are a good adept for one of higher-level statistics.

    This being explained, I can finally list the skills I have already encountered and considered useful.
This is in a pre-draft stage.

Body +--+ health
     |  +--Condition (a map of body surface or volume)
     |  +--Armor condition (a map of body surface)
     |  +--+ Strength and Speed (where strength*speed is max)
     |     +--a set of body's muscles' strength vs. speed diagrams
     |
     |  +--+ Fatigue long term (hours and days)
     |     +--a map of muscles
     |
     |  +--+ Fatigue short term (minutes)
     |     +--a map of muscles
     |
     |  +--+ metabolism
     |     +--power of heart
     |     +--power of lungs
     |     +--+ fatigue rate of muscles
     |        +--a map
     |
     |     +--+ regeneration rate of muscles
     |        +--a map
     |
     |     +--+ healing rate (wounds, not fatigue)
     |        +--a map
     |
     |     +--oxygene capacity of blood
     |     +--and much more
     |
     +--+ Armor
        +--+ Armor strength
           +--Armor resistance against Fire
           +-- -"- Cold
           +-- -"- Acids
           +-- and more, see elements

Externals +--reliability +--Rank at Earth's army
                         +--Rank at Wizard's Union
                         +--Rank at XCOM2
                         +--Rank at Syndicate

Explanations:
    XCOM2: Since the name Xcom is a registered trademark or something, I use name XCOM2.

    If you have better overall idea on a character model, skill groups or skills, write them down and e-mail me; if it would be a good idea, I will use it. However, I prefer that you create your own page (e.g. at www.fortunecity.com) and e-mail me it's location. I will then put a link here.

Organizations
    XCOM2, Syndicate, Earth's army, Wizard's Union
 

Equipment

Armor, weapons, vehicles, miscellaneous.

Up: The Advanced Projects Page
Last revised on September 17, 1998.
Last modified on September 17, 1998, at 15:43.